FROM alpine:latest

# 设置环境变量
ENV REDIS_VERSION=6.2.13

# 安装必要的包并清理缓存
RUN apk add --no-cache \
    build-base \
    linux-headers \
    openssl \
    curl \
    && cd /tmp \
    # 下载并解压Redis源码
    && curl -O http://download.redis.io/releases/redis-${REDIS_VERSION}.tar.gz \
    && tar xzf redis-${REDIS_VERSION}.tar.gz \
    && cd redis-${REDIS_VERSION} \
    # 编译并安装Redis
    && make \
    && make install \
    # 移动配置文件并清理临时文件
    && mkdir -p /etc/redis \
    && cp redis.conf /etc/redis/redis.conf \
    && cd / \
    && rm -rf /tmp/redis-${REDIS_VERSION} /tmp/redis-${REDIS_VERSION}.tar.gz \
    && apk del build-base linux-headers

# 暴露Redis默认端口
EXPOSE 6379

# 设置Redis配置文件路径
VOLUME ["/data"]
WORKDIR /data

# 运行Redis服务器
CMD ["redis-server", "/etc/redis/redis.conf"]